#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

void solve(){
    int n,k;
    string s;
    cin>>n>>k>>s;
    unordered_map<string, int> mp;
    for(int i=0;i<n-k+1;i++){
    	mp[s.substr(i,k)]++;
    }
    vector<pair<int,string>>a,res;
    int mx=-1;
    for(auto [ss,cnt]:mp){
    	a.push_back({cnt,ss});
    	mx=max(mx,cnt);
    }
    sort(a.begin(),a.end());
    for(auto [cnt,ss]:a){
    	if(cnt==mx){
    		res.push_back({cnt,ss});
    	}
    }
    cout<<mx<<'\n';
    for(auto [cnt,ss]:res){
    	cout<<ss<<' ';
    }
    cout<<'\n';
}

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    int t=1;
    // cin>>t;
    while(t--){
        solve();
    }
    return 0;
}